package com.azxcrm.project.system.customer.service;

import java.util.List;

import com.azxcrm.project.system.customer.domain.CustomerClue;

/**
 * 客户线索 服务层
 * 
 * @author Dustyone
 * @date 2018-09-05
 */
public interface ICustomerClueService {

	/**
	 * 查询客户线索信息
	 * 
	 * @param clueId 客户线索ID
	 * @return 客户线索信息
	 */
	CustomerClue selectCustomerClueById(Integer clueId);

	/**
	 * 查询客户线索列表
	 * 
	 * @param customerClue 客户线索信息
	 * @return 客户线索集合
	 */
	List<CustomerClue> selectCustomerClueList(CustomerClue customerClue);

	/**
	 * 新增客户线索
	 * 
	 * @param customerClue 客户线索信息
	 * @return 结果
	 */
	int insertCustomerClue(CustomerClue customerClue);

	/**
	 * 修改客户线索
	 * 
	 * @param customerClue 客户线索信息
	 * @return 结果
	 */
	int updateCustomerClue(CustomerClue customerClue);

	/**
	 * 保存客户线索
	 * 
	 * @param customerClue 客户线索信息
	 * @return 结果
	 */
	int saveCustomerClue(CustomerClue customerClue);

	/**
	 * 删除客户线索信息
	 * 
	 * @param clueId 客户线索ID
	 * @return 结果
	 */
	int deleteCustomerClueById(Integer clueId);

	/**
	 * 批量删除客户线索信息
	 * 
	 * @param clueIds 需要删除的数据ID
	 * @return 结果
	 */
	int batchDeleteCustomerClue(Integer[] clueIds);

	/**
	 * 通过手机查询客户是否存在
	 *
	 * @param customerCellphone 客户手机号
	 * @return 客户线索信息
	 */
	List<CustomerClue> selectCustomerClueByPhone(String customerCellphone);
	
	/**
	 * 统计线索客户总数
	 * @return 线索客户总数
	 */
	int customerSumCount();

}
